﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace HDSmartCommunity.Models
{
    public class MqttInfo
    {
        public int ID { get; set; }
        public string version { get; set; }//版本
        public string line { get; set; }//路线
        public string station { get; set; }//车站
        public string message_type { get; set; }//会话类型
        public string iot_node_id { get; set; }//网关设备编码
        public string device_id { get; set; }//车站设备编码
        public string mqtt_server { get; set; }//MQTT Broker IP
        public int mqtt_port { get; set; }//MQTT Broker 端口
        public string mqtt_uname { get; set; }//MQTT Broker的用户名
        public string mqtt_pwd { get; set; }// MQTT Broker 密码
        public int ele_type { get; set; }// 电梯类型 1=电梯，2=扶梯
        public string number { get; set; }//出厂编号
    }

    public class MqttDeviceInfo
    {
        public string msgid { get; set; }
        public string ts { get; set; }
        public List<MqttDeviceInfoData> data { get; set; }
    }
    public class MqttDeviceInfoData
    {
        public string deviceID { get; set; }
        public List<MqttDeviceInfoDataPoint> devicePoints { get; set; }
    }

    public class MqttDeviceInfoDataPoint
    {
        public string point { get; set; }
        public int value { get; set; }
    }

    public class UploadFileEntity
    {
        public string FileName { get; set; }
        public string FilePath { get; set; }
    }

    public class PZData
    {
        public string SerialNumber { get; set; }
        public string SerialData { get; set; }
        public string Remark { get; set; }
    }

    public class PZMqttInfo
    {
        public int ID { get; set; }
        public string mqtt_server { get; set; }//MQTT Broker IP
        public int mqtt_port { get; set; }//MQTT Broker 端口
        public string mqtt_uname { get; set; }//MQTT Broker的用户名
        public string mqtt_pwd { get; set; }// MQTT Broker 密码
    }

    public class PZBasicInfo
    {
        public int StorageStart { get; set; }//寄存器开始地址
        public int StorageCount { get; set; }//寄存器数量
        public int Liftid { get; set; }//梯号
        public int PZInterval { get; set; }//查询间隔时间
        public string SerialNumber { get; set; }//序列号
        public string Remark { get; set; }//备注
    }

    public class SerialInfo
    {
        public string BaudRate { get; set; }//COM1波特率
        public int Parity { get; set; }//COM1校验 0=无，1=奇校验，2=偶校验
        public int DataBits { get; set; }//COM1数据位
        public int StopBits { get; set; }//COM1停止位
        public int BaudRate_2 { get; set; }//COM2波特率
        public int Parity_2 { get; set; }//COM2校验 0=无，1=奇校验，2=偶校验
        public int DataBits_2 { get; set; }//COM2数据位
        public int StopBits_2 { get; set; }//COM2停止位
    }

    public class DataSimulationInfo
    {
        public int DataSimulation { get; set; }//0=正常,1=模拟，2=严御路站模拟
        public int VirtualInterval { get; set; }
    }

    public class YYLMqttDeviceInfo
    {
        public string msgid { get; set; }
        public string ts { get; set; }
        public List<YYLMqttDeviceInfoData> data { get; set; }
    }

    public class YYLMqttDeviceInfoData
    {
        public string deviceID { get; set; }
        public List<YYLMqttDeviceInfoDataPoint> devicePoints { get; set; }
    }

    public class YYLMqttDeviceInfoDataPoint
    {
        public string point { get; set; }
        public bool value { get; set; }
    }

    public class YYLDataPoint
    {
        public string msgid { get; set; }
        public Object ParamsInfo { get; set; }
    }

    public class DTParamInfo
    {
        public CZDT_YX_ZT CZDT_YX_ZT { get; set; }
        public CZDT_ST_ZT CZDT_ST_ZT { get; set; }
        public CZDT_JX_ZT CZDT_JX_ZT { get; set; }
        public CZDT_GZ_BJ CZDT_GZ_BJ { get; set; }
        public CZDT_TX_BJ CZDT_TX_BJ { get; set; }

    }

    public class FTParamInfo
    {
        public ZDFT_SX_ZT ZDFT_SX_ZT { get; set; }
        public ZDFT_XX_ZT ZDFT_XX_ZT { get; set; }
        public ZDFT_TZ_ZT ZDFT_TZ_ZT { get; set; }
        public ZDFT_GZ_BJ ZDFT_GZ_BJ { get; set; }
        public ZDFT_JT_BJ ZDFT_JT_BJ { get; set; }
        public ZDFT_GB_BJ ZDFT_GB_BJ { get; set; }
        public ZDFT_TX_BJ ZDFT_TX_BJ { get; set; }
    }

    public class CZDT_YX_ZT
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class CZDT_ST_ZT
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class CZDT_JX_ZT
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class CZDT_GZ_BJ
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class CZDT_TX_BJ
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class ZDFT_SX_ZT
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class ZDFT_XX_ZT
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class ZDFT_TZ_ZT
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class ZDFT_GZ_BJ
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class ZDFT_JT_BJ
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class ZDFT_GB_BJ
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
    public class ZDFT_TX_BJ
    {
        public bool value { get; set; }
        public long ts { get; set; }
    }
}
